iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
佛心分享-SideProject30

新手開發日記:跟著ChatGPT做記帳網頁系列 第 11

DAY11 預算管控:為記帳應用添加預算提醒功能

  • 分享至 

  • xImage
  •  

這個功能的靈感來源大概是我親愛的弟弟,他現在非常想存錢看演唱會,但是又會不小心把錢花掉,於是我決定在我的記帳小工具增加這個警示功能。

HTML結構

為了讓使用者能輸入預算並設定,我加了一個輸入框和設定完成按鈕。

<!--預算輸入區域-->
<dic class="budget-section">
     <input type="number" id="budget-amount" placeholder="請輸入預算">
     <button onclick="setBudget()">設定完成</button>
     <h3>目前預算:$<span id="current-budget">0</span></h3>
</dic>

JavaScript邏輯

在使用者設定好預算後,應該要保存預算,並且在每次使用者輸入支出的時候,確認是否超出預算,這需要用JavaScript來處理邏輯。

let budget=0;

function setBudget(){
    budget = parseFloat(document.getElementById("budget-amount").value);
    if(isNaN(budget) || budget<=0){
        alert("請輸入有效的預算金額!");
        return;
    }
    document.getElementById("current-budget").innerText = budget.toFixed(2);
}

因為要確認是否超出預算,支出的function也要加入if判斷式,若支出總和超過使用者設定的預算,將會有警告跳出。

//檢查是否超過預算
if(totalAmount > budget){
    alert("警告:您的支出已超過預算,請三思後再購買!");
}

一些被我遺忘的函式用法🥲

  1. parseFloat():將字串轉換為浮點數,若裡面有非數字,會回傳NaN。也就是下一行判斷式中isNaN()的作用,可以判斷是否回傳NaN,表示使用者有輸入到非數字。
  2. .innerText:用來讀取或設置某個HTML中的純文本內容。
  3. toFixed(2):將數字格式化為指定小數位數。這裡可以保留兩位小數。

測試功能

今天使用到的功能幾乎都是之前用過的,所以今天的進度完成的很快,看來我有不知不覺在進步💪💪,不過還是對有些功能不太熟悉,希望之後能更認識他們。這次增加了預算功能還蠻順利的,讓我們來看看今天的成果。
https://ithelp.ithome.com.tw/upload/images/20240925/20169208iRx2tSftRF.png
(因為原本是gif,但gif無法上傳就只好從gif截圖,畫質蠻差的抱歉🥲)

參考資料

https://chatgpt.com/


上一篇
DAY10 實現收入記錄功能
下一篇
DAY12 收入與支出分類顯示優化
系列文
新手開發日記:跟著ChatGPT做記帳網頁30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言